package cn.kgm.template.server.struct;

import cn.kgm.template.dto.dto.TemplateInfoSaveDTO;
import cn.kgm.template.dto.dto.TemplateInfoUpdateDTO;
import cn.kgm.template.dto.query.TemplateInfoPageQuery;
import cn.kgm.template.dto.vo.TemplateInfoVO;
import cn.kgm.template.server.entity.TemplateInfo;
import org.mapstruct.Builder;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

/**
 * # 技术改变自己 #
 * 模板信息收集表
 *
 * @author kapp-i
 * @date 2024-03-18 14:47:46
 */
@Mapper(builder = @Builder(disableBuilder = true))
public interface TemplateInfoMappers {
    TemplateInfoMappers INSTANCE = Mappers.getMapper(TemplateInfoMappers.class);

    /**
     * 将 TemplateInfoSaveDTO 映射成 TemplateInfo 对象
     *
     * @param source 源对象
     * @return TemplateInfo
     */
    TemplateInfo mapToEntity(TemplateInfoSaveDTO source);

    /**
     * 将 TemplateInfoUpdateDTO 映射成 TemplateInfo 对象
     *
     * @param source 源对象
     * @return TemplateInfo
     */
    TemplateInfo mapToEntity(TemplateInfoUpdateDTO source);

    /**
     * TemplateInfoPageQuery 映射成 TemplateInfo 对象
     *
     * @param source 源对象
     * @return TemplateInfo
     */
    TemplateInfo mapToEntity(TemplateInfoPageQuery source);

    /**
     * TemplateInfoPageQuery 映射成 TemplateInfo 对象
     *
     * @param source 源对象
     * @return TemplateInfoVO
     */
    TemplateInfoVO mapToEntity(TemplateInfo source);

}
